import * as XLSX from "xlsx";

export function Qs(params) {
    const queryString = Object.entries(params)
        .filter(([key, value]) => value !== "" && value !== null && value !== undefined)
        .map(([key, value]) => `${key}=${value}`)
        .join("&");
    return queryString
}

// 表格数据  表名  表头  当前表格名字 对应表格数据取得字段
export function exportExcelTable(json, name, titleArr, sheetName, fields) {
    let data = new Array();
    if (!Array.isArray(json)) return console.warn('数据请传入数组');
    if (!Array.isArray(titleArr)) return console.warn('标题请传入数组');
    if (!Array.isArray(fields)) return console.warn('字段请传入数组');
    data = json.map(obj => {
        return fields.map(field => {
            return obj[field]
        })
    })
    data.splice(0, 0, titleArr);
    // fields为英文字段表头,一般不需要，需要直接把下面注释打开即可
    // data.splice(0, 0, fields);

    const ws = XLSX.utils.aoa_to_sheet(data);
    const wb = XLSX.utils.book_new();
    // 此处隐藏英文字段表头
    let wsrows = [{ hidden: true }];
    ws['!rows'] = wsrows; // ws - worksheet
    XLSX.utils.book_append_sheet(wb, ws, sheetName);
    /* generate file and send to client */
    XLSX.writeFile(wb, name + '.xls');
}


// 获取当前天的开始时间
export function formatDate(date) {
    return [
      date.getFullYear(),
      String(date.getMonth() + 1).padStart(2, '0'),
      String(date.getDate()).padStart(2, '0')
    ].join('-') + ' ' +
      [
        String(date.getHours()).padStart(2, '0'),
        String(date.getMinutes()).padStart(2, '0')
      ].join(':');
  }
  
  export function formatDate2(date) {
    return [
      date.getFullYear(),
      String(date.getMonth() + 1).padStart(2, '0'),
      String(date.getDate()).padStart(2, '0')
    ].join('-')
  }
  